package Thread;

//饿汉模式
class Singleton{
    //为什么要用static修饰,因为如果不是用static修饰的话,
    //他就不是类对象,如果想要使用就需要new,
    //但是由于构造方法被private修饰了,所以不能在类外实例化
    //所以类外如果想要拿到这个实例,需要一个get方法
    //由于类外不能实例化,所以只能将这个get方法设置为static修饰的,这样可以被类名调用,但是get方法已经变成了静态方法
    //所以里面的返回值也需要是static修饰的,原因就是(静态方法中的变量都需要是被static修饰的)

    //把这个类设置成单例的
    private static Singleton singleton = new Singleton();

    //获取该实例的唯一方法
    public static Singleton getSingleton() {
        return singleton;
    }

    private Singleton(){}

}

public class ThreadDemo9 {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getSingleton();

    }

}
